package beans;
import hbtDAO.HibernateDiccionarioDAO;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import sun.org.mozilla.javascript.internal.regexp.SubString;

import model.ItemDiccionario;



public class DiccionarioView {
	private Long idDiccionario;
	private String nombre;
	private String descripcion;
	private Date fechaCreacion;
	private Date fechaActualizacion;
	private List<ItemDiccionarioView> diccionarios;
	
	public DiccionarioView(Long idDiccionario, String nombre, String descripcion,
			Date fechaCreacion) {
		super();
		this.idDiccionario = idDiccionario;
		this.nombre = nombre;
		this.descripcion = descripcion;
		this.diccionarios = new ArrayList<ItemDiccionarioView>();
	}
	
	public DiccionarioView(Long idDiccionario, String nombre, String descripcion,
			Date fechaCreacion, List<ItemDiccionarioView> diccionarios) {
		super();
		this.idDiccionario = idDiccionario;
		this.fechaActualizacion=null;
		this.nombre = nombre;
		this.descripcion = descripcion;
		this.diccionarios = diccionarios;
	}
	
	public DiccionarioView() {
		
		this.diccionarios = new ArrayList<ItemDiccionarioView> ();
	}

	public Long getIdDiccionario() {
		return idDiccionario;
	}
	public void setIdDiccionario(Long idDiccionario) {
		this.idDiccionario = idDiccionario;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public Date getFechaCreacion() {
		return fechaCreacion;
	}
	public void setFechaCreacion(Date fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}
	public List<ItemDiccionarioView> getDiccionarios() {
		return diccionarios;
	}
	public void setDiccionarios(List<ItemDiccionarioView> diccionarios) {
		this.diccionarios = diccionarios;
	}

	public Date getFechaActualizacion() {
		return fechaActualizacion;
	}
	
	public String getFechaCreacionView(){
		if(this.fechaCreacion != null){
			SimpleDateFormat dateformatJava = new SimpleDateFormat("dd/MM/yyyy");
			return dateformatJava.format(this.fechaCreacion);
		}else{
			return "";
		}
	}
	
	public String getFechaActualizacionView(){
		if(this.fechaActualizacion != null){
			SimpleDateFormat dateformatJava = new SimpleDateFormat("dd/MM/yyyy");
			return dateformatJava.format(this.fechaActualizacion);
		}else{
			return "";
		}
	}

	public void setFechaActualizacion(Date fechaActualizacion) {
		this.fechaActualizacion = fechaActualizacion;
	}
	
	
	public ItemDiccionarioView buscarItemByID (long idItem){
		List<ItemDiccionario> items = HibernateDiccionarioDAO.getInstancia().getItemsDiccionario(this.idDiccionario);
		for(int i=0; i<items.size();i++){
			if(items.get(i).sosElItem(idItem)){
				ItemDiccionarioView itemVista = new ItemDiccionarioView();
				itemVista.setIdItemDiccionario(items.get(i).getIdItemDiccionario());
				itemVista.setNombre(items.get(i).getNombre());
				itemVista.setCondicion(items.get(i).getCondicion());
				String aux = items.get(i).getReemplazo();
				String reemplazo = aux.substring(40, aux.length()-7);				
				itemVista.setReemplazo(reemplazo);
				itemVista.setFechaCreacion(null);
				itemVista.setFechaActualizacion(null);
				return itemVista;
			}
		}
		return null;
	}

}
